<template>
  <div class="container">
    <Layout class="layout">
      <Sider
        class="side-bar"
        :style="{
          height: 'calc(100vh - 35px)',
          background: '#fff',
          overflow: 'auto',
        }"
        ref="side"
        :collapsed-width="78"
      >
        <Menu
          active-name="myShoppingCart"
          theme="light"
          width="auto"
          @on-select="onSelect"
        >
          <div class="user-icon">
            <div class="user-img">
              <img :src="userInfo.avatar" />
            </div>
            <p>{{ userInfo.username }}</p>
          </div>
          <Submenu name="1">
            <template slot="title">
              <Icon type="location"></Icon>
              <span>收货地址</span>
            </template>
            <!-- eslint-disable-next-line vue/no-parsing-error -->
            <MenuItem name="myAddress">我的收货地址</MenuItem>
            <!-- eslint-disable-next-line vue/no-parsing-error -->
            <MenuItem name="addAddress">添加收货地址</MenuItem>
          </Submenu>
          <Submenu name="2">
            <template slot="title">
              <Icon type="clipboard"></Icon>
              <span>购物订单</span>
            </template>
            <!-- eslint-disable-next-line vue/no-parsing-error -->
            <MenuItem name="myOrder">我的订单</MenuItem>
          </Submenu>
          <Submenu name="3">
            <template slot="title">
              <Icon type="ios-cart"></Icon>
              <span>购物车</span>
            </template>
            <!-- eslint-disable-next-line vue/no-parsing-error -->
            <MenuItem name="myShoppingCart">我的购物车</MenuItem>
          </Submenu>
        </Menu>
      </Sider>
      <Layout class="layout">
        <Content class="content">
          <transition mode="out-in">
            <router-view></router-view>
          </transition>
        </Content>
      </Layout>
    </Layout>
  </div>
</template>

<script>
import { getToken } from '~/utils/jwt'
export default {
  name: 'Home',
  data() {
    return {
      activeTitle: '我的购物车',
      bar: {
        'myAddress': '我的收货地址',
        'addAddress': '添加收货地址',
        'myOrder': '我的订单',
        'myShoppingCart': '我的购物车'
      },
      userInfo: {
      }
    }
  },
  created() {
    this.getUserInfo()
  },
  methods: {
    onSelect(name) {
      this.activeTitle = this.bar[name]
      this.$router.push(`/home/${name}`)
    },
    getUserInfo() {
      let res = {}
      if (getToken()) {
        res = this.$store.state.user.userInfo
        res.avatar = '/img/head.png'
      } else {
        res = { username: '未登录', avatar: '/img/head.jpg' }
      }
      this.userInfo = res
    }
  }
}
</script>

<style scoped>
.side-bar a {
  color: #232323;
}
.user-icon {
  height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.user-icon span {
  font-size: 96px;
}
.user-img {
  margin-bottom: 15px;
  width: 96px;
  height: 96px;
  border-radius: 48px;
  overflow: hidden;
}
.user-img img {
  width: 100%;
}
.content {
  margin: 15px;
  background-color: #fff;
  padding: 15px;
}
.layout-footer-center {
  padding: 0px 15px;
  padding-bottom: 15px;
  text-align: center;
}
</style>
